/***
 * create 创建命令
 */
const program = require('commander');
const {
  createProjectAction,
  addComponentAction,
  addPageAction,
  addStoreAction
} = require('./actions')
const createCommander = () => {
  program
    .command('create <project> [other...]')//创建拉取命令
    .alias('c')//简写
    .description('clone repository into folder')//描述
    .action(createProjectAction)

  program
    .command('addcpn <componentName> [dest]')//添加组件命令
    .alias('addc')//简写
    .description('add vue component 例：testn addc NavBar [-d src/commponents]')//描述
    .action((name) => {
      // 获取 -d 值
      addComponentAction(name, program.opts().dest || 'src/components')
    })

  program
    .command('addpage <page>')//添加组件命令
    .alias('addp')//简写
    .description('add vue page and router 例：testn addp Home [-d src/views]')//描述
    .action((page) => {
      // 获取 -d 值
      addPageAction(page, program.opts().dest || 'src/views')
    })

  program
    .command('addstore <store>')//添加组件命令
    .alias('adds')//简写
    .description('add vue store 例：testn addp Home [-d src/store]')//描述
    .action((page) => {
      // 获取 -d 值
      addStoreAction(page, program.opts().dest || 'src/store/modules')
    })


}

module.exports = createCommander;